1. Field of the Invention
The present invention relates generally to imaging and more specifically to imaging of objects.
2. Brief Description of the Prior Art
A common obstacle to the sale of items on the Internet is that it is difficult for consumers to gain an understanding of the three-dimensional characteristics of an item being contemplated for purchase. In the conventional retail store environment, the consumer often has the opportunity to look at an item of interest from multiple directions and distances. This in-person experience allows the consumer to understand and appreciate the physical shape and detail of the object more closely and to be assured that the item they are purchasing meets their expectations in terms of quality, desired feature set and characteristics. On the Internet, achieving a similar level of interactive product inspection and evaluation by a consumer is much more difficult, since the browsing experience of most Internet consumers is primarily a two dimensional one e.g. looking at pictures or reading text descriptions of items. While this gives a reasonable representation of the object, more complete interaction which rivals that available in a conventional retail environment can be desirable. Such an experience would reduce the barriers to purchasing over the Internet that might have resulted due to the user having an incomplete picture which is limited to the 2-D static photographs, non-interactive video, illustrations and textual descriptions of the item being contemplated for purchase. A system and method which would allow for a multi-view interactive experience of items would be desirable to consumers and vendors alike.
Images are useful in depicting the attributes of scenes, people and objects. However, the advent of digitized imagery has demonstrated that the image can become an active object that can be manipulated digitally via computer processing. Images can also become interactive entities, where clicking on different portions of an image can yield different processing outcomes which could come from a variety of multimedia sources, such as sounds, animations, other images, text, etc. For example, image maps are used often within the wide world web allow for a large of amount of information to be displayed in an intuitive graphical fashion to a user allowing for “direct manipulation” GUIs, By clicking within different portions of the image, different outcomes can be triggered, such as loading of web pages that are linked to those portions of the images, or “roll overs” which dynamically display additional text describing a button which may be selected. For example, a 3D effect can be achieved by acquiring a set of images of a rotating object in sequence in then allow for the smooth sequential selection of those images by the use of a GUI element such as a slider, thus giving the appearance of 3D rotational object motion. The images may be from real scenes, or synthetically generated using computer graphics techniques. This multimedia program may be in the form a browser embedded application or “Applet” as depicted in FIG. 1.
Additionally, besides linking to other images or web pages with multimedia content, different input actions to a multimedia programs (e.g. an internet browser) can cause the selection of different images, such as causing the display of magnified portions around the area clicked and so forth.
Additionally, with the advent of digital image processing programs aimed at the digital manipulation and enhancement of digitized images, it has become possible for multimedia authors to easily and intuitively build image-based interactive programs which can be run within any web browser. For example, multimedia authoring programs which run on the PC, such as Adobe LiveMotion or MacroMedia Director™ allow developers to create content for CDs, DVDs and the web.
The system described here enhances and extends existing systems and processes for digital image editing and multimedia authoring in a number of novel ways which are described below.
It is presently difficult to generate interactive multiple view images of objects for a number of reasons. Stand-alone Software applications for creation of interactive object viewing are complex it install and use, and are expensive to purchase. For example, applications such as MGI Photo Vista 3D Objects, VR Objectworx and Quicktime VR Authoring Studio are complex to install, and difficult to master for a non-technical audience. We present an self-installing application which runs inside a web-browser, and is easy to use, even for the technically untrained.
Another drawback of existing programs for the creation of interactive multiple view images has been the high up front cost of purchasing these applications, since they are sold on a licensing basis which presumes an unlimited number of images may be created for each granted license. We present a methods and architectures which permit the software to be freely distributed and licensed on a pay-per-use basis using cryptographic techniques to enforce the terms of the licensing.
An additional impediment faced by the prior art in interactive image generation is that expensive special purpose rotating stages must be purchased to rotate the object to be photographed. This additional cost is such that many individuals that might desire to generate interactive images are currently prevented from doing so by the high costs and complexity of purchasing and installing the electromechanical systems required to acquire such images. We provide several ways which eliminate these barriers by providing a software only means to acquire said images, by enabling the use of extremely low cost spring wound rotating stages, and by providing a self-service kiosk with all of the necessary hardware elements to carry out the image acquisition and processing necessary to achieve the generation of the interactive images.
In the current state of the art of multi-media, the notion of the multi-media player refers to an application program which can interpret media objects and multi-media programs in order to present a multi-media presentation to an end-user. The player can operate in an open loop fashion, deterministically presenting media objects without end-user intervention, or may be interactive, where the presentation sequence of the media objects may be controlled by certain user inputs.
In general, most multi-media systems, such as MacroMedia's Flash system, require a native multi-media player plug-in, which interprets files in Flash Format that contain the specific multi-media instructions and objects that will carry out the presentation. The Flash player is written in the native instruction set of the computer that is rendering the multi-media presentation. Since the processor cannot natively interpret the multi-media sequence, this creates the pre-requisite that the user have installed the corresponding media player on their PC in order to be able to play the media sequence. The downloading and installation of the media player can impose an inconvenience on the end-user, since the media player can be large and take a long time to download, and installation processes for media players can be error prone. It is therefore desirable to avoid this step. We describe a solution that uses a very small special purpose media player for our multi-media sequences which downloads in an almost instantaneous manner and is written in the Java programming language bytecode. Since the majority of Web browsers come with the Java bytecode interpreter pre-installed, the end-user can enjoy the multi-media sequences while avoiding the download of a full media player. The Java™ programming language provides a basis for a predictable run-time environment (Virtual Machine) for programs which operate on computer having differing processor instruction sets and operating systems. A number of major internet browsing programs provide a Java run-time environment which allows for programs compiled into Java byte code to execute within what is commonly known as an applet. An applet is a small program which runs within the context of a larger application such as a web browser and can execute inside of a standard web page as depicted in FIG. 1. The use of the Java Run Time eliminates the need for the installation of a specialized plug-in program to allow for the extension of the capabilities of the web browser, such as for, example, the MacroMedia Flash Player Plug-in. Instead, an applet written in the Java language and compiled into byte code may be used to add new programmatic feature (such as multimedia capabilities) to a browser. Other languages such as Microsoft's C# may serve as well for the implementation, replacing Java. Alternatively, Javascript may be used to animate the 3D sequences and provide interactive user input and reactivity if desired.